export interface AdapterInfo {
    name: string;
    version: string;
    target: string;
    description?: string;
    protocol?: string; // 新增协议类型字段
}

export enum ProtocolType {
    HTTP = 'http',
    HTTPS = 'https',
    DNS = 'dns',
    TCP = 'tcp',
    UDP = 'udp',
    REGISTRY = 'registry',
    FILE = 'file',
    PROCESS = 'process',
    DATABASE = 'database',
    COMMAND = 'command'
}

export interface ICompatibleAdapter {
    getInfo(): AdapterInfo;
    isSupported(): boolean;
    execute<T extends string>(input: T): Promise<T>;
    // 新增网络协议相关方法
    supportsProtocol(protocol: ProtocolType): boolean;
    resolve?(hostname: string): Promise<string>; // DNS解析方法
}